草庐IT

c++ - Float32 和 UInt32?

全部标签

windows - 我的基于 Windows 的 32 位视频应用程序在 Win7/64 或 Vista/64 下无法运行?

我编写了一个依赖于VideoForWindows的程序。它在XP和Vista32位操作系统下运行良好,但现在我试图在较新的64位操作系统上运行它,它无法打开任何AVI文件。实际程序启动正常,GUI出现,“文件打开”对话框工作正常,但VFW库说它无法打开一些使用多种不同编解码器的通用AVI文件。有人知道VFW支持是否已从64位操作系统中删除,或者可能是其他原因?谢谢。 最佳答案 AnybodyknowifVFWsupporthasbeendroppedfromthe64-bitOSes?VFW在64位Windows中的工作方式与在32

c++ - 适用于 Windows 的 Memcached 客户端库

我想为我的C++应用程序使用memcached。为此,我需要一个客户端库,例如类似于mysqlclient。但是我真的很难找到合适的东西。一切似乎都只是linux,虽然有些声称与Windows兼容,但它们需要cygwin和其他我真正想避免的东西。所以我正在寻找的是带有头文件的预编译Windows库(最好),或者我可以使用VisualStudio轻松编译的东西。如果没有这样的东西,你认为我自己写它会是个坏主意吗?该协议(protocol)看起来很简单,我真的只需要基本命令(设置/获取等)。 最佳答案 你试过这个吗?http://cod

c - Wndproc 和 hook 是否在主线程中?

抱歉我的愚蠢问题,但是主线程中的wndproc和Hook(调用时)?如果是,是否意味着我不能将它们用于构建键盘输入缓冲区? 最佳答案 您的窗口过程(以及任何子类窗口过程、Hook等)在调用CreateWindow的线程中运行(要求同一线程稍后处理消息队列,窗口过程实际运行当您的主消息分发循环调用DispatchMessage时)。不确定“为键盘输入构建缓冲区”是什么意思。 关于c-Wndproc和hook是否在主线程中?,我们在StackOverflow上找到一个类似的问题:

c - OpenSSL 库 : 2 on Linux libcrypto and libssl and more than 13 on windows. 我应该在 Windows 上链接什么来编译我的示例?

所以我看this示例代码:#include#include#include"openssl/sha.h"voidsha256(char*string,charoutputBuffer[65]){unsignedcharhash[SHA256_DIGEST_LENGTH];SHA256_CTXsha256;SHA256_Init(&sha256);SHA256_Update(&sha256,string,strlen(string));SHA256_Final(hash,&sha256);inti=0;for(i=0;i我应该将哪些库链接到我的项目以在Windows上编译它?

c - 如何从注册表中获取每个键和子键?

我正在尝试编写一个应用程序,我可以在其中提供一个注册表路径,例如HKLM\hardware\description\system并且我的应用程序应该在系统下读取每个键名,如果有子键它们的名字,如果还有更多的子项然后他们的名字等等...我的应用程序正在运行(或多或少),但我的问题是如何计算子键?比如system下有2个key,a和b,a下多了3个key,b下多了5个,那我应该怎么算自己在哪个sublevel呢?这很重要,因为我必须知道如何连接注册表路径?到目前为止,这是我的代码(大部分来自msdn,但我找不到类似的示例):#include#include#include#include#

java - 是否可以在 C :/Windows/System32/location at runtime? 中放置一个 myfile.file

我想在中放置一个名为myFile.file的文件C:/Windows/System32/位置。这里是使用java代码放置我的文件。当我执行我的程序时,它抛出“AccessDenied:C:/Windows/System32/myFile.file”。为什么会这样?可以放在那个位置吗? 最佳答案 该(以及许多其他)系统位置仅限于管理员用户/提升的应用程序。应用数据应存储在用户配置文件(或公共(public)应用数据)中的用户应用数据文件中。如果你真的必须写入系统文件夹,那么你需要通过UAC请求用户许可,或者使用ShellExecute

c - 在没有宿主程序帮助的情况下,如何在同一个进程中协调不同的 DLL?

我正在寻找一种方法来协调同一进程中的DLL,以便在它们之间提供数据共享机制。目标是为所有DLL提供相同的共享代码,并让它们以这样一种方式进行协调,即由主程序加载的第一个将充当共享项的管理器,而其他人将使用此管理器。我无法修改主应用程序,因此不可能设置管理器并与其他DLL共享其内存地址。使用此机制的DLL集可能会有所不同,因此我不能明确假设其中一个将被加载。我考虑的一种解决方案是将内存地址添加到进程的环境变量中。第一个DLL会看到环境变量尚未设置,创建管理器对象并将变量设置为其地址。其他DLL会看到该变量并从中创建一个指向管理器对象的指针。这接近我想要的,但它似乎有点粗糙,因为不能保证环

c - 如何检查指定用户是否是本地计算机上的管理员?

我想知道用户是否是PC上的管理员?我找到了执行此操作的代码片段,但我遇到了问题。这段代码的问题是,如果启动进程的用户是否具有管理员权限,则此函数将返回。但我想查询特定用户是否具有管理员权限。我能以某种方式做到这一点吗?这很重要,因为我的应用程序将在SYSTEM帐户下运行,因此它总是返回用户是管理员,但我想知道登录用户是否是管理员?代码片段:BOOLIsUserAdmin(VOID)/*++RoutineDescription:ThisroutinereturnsTRUEifthecaller'sprocessisamemberoftheAdministratorslocalgroup.

windows - Win32 API中GetMessage()的内部机制?

在windows应用程序的消息循环中,GetMessage()函数会在消息队列中没有消息时挂起应用程序线程,但是当消息队列中有消息入队时,它是如何唤醒自己的呢?休眠线程如何唤醒自己?while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);} 最佳答案 线程不会唤醒自身。向它发送消息的线程将它唤醒。发送消息的部分过程包括唤醒消息的接收者。 关于windows-Win32API中GetMess

卷的 CreateFileMapping() 失败

我在将部分卷映射到内存时遇到问题。卷已成功打开,我可以从中读取,但CreateFileMapping()失败。GetLastError()返回87,其中有following意思是:“参数不正确。”我已经创建了卷的图像并且它被正确处理了。这就是我打开文件和创建映射的方式:/*openfunction*/fd->handle=CreateFile(name,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);/*mappingfunction*/LARGE_